/**
 * Copyright (C), 2018-2018
 * FileName: primeNumbers01  * Author:   lcsos
 * Date:     2018/10/10 15:02
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.qdu.study.arithmetic.first;

import java.util.ArrayList;
import java.util.List;

/**
 * 〈一句话功能简述〉<br>  
 *  判断0-100之间有多少个素数，并输出所有素数
 *
 * @author Lcs
 * @create 2018/10/10 
 * @since 1.0.0
 */

public class primeNumbers01 {

    public static void main(String[] args) {
        int n = 200;
        System.out.println(getPrimeNumber(n));
    }
    /**
     *  得到1到n之间的素数，存到一个ArrayList集合
     * */

    private static List<Integer> getPrimeNumber(int n) {
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i <= n ; i++) {
            if (numberIsPrime(i)) {
                list.add(i);
            }
        }
        return list;
    }
    /**
     *
     * 判断一个数是不是素数：只能被1和本身整除
     * 说明：从2开始除，不需要到n，也就是循环条件是
     * < n 就可以，这之间只要被整除了，那么他就不是素数了
     * */
    private static boolean numberIsPrime(int n) {
         for (int i = 2; i <n; i++) {
             if (n % i == 0) {
                 return false;
             }
         }
         return true;
     }
}
